﻿namespace KMSimulator.Model
{
    public interface IKMAction
    {
        /// <summary>
        /// 动作ID
        /// </summary>
        string Id { get; set; }

        /// <summary>
        /// 动作名称
        /// </summary>
        string Name { get; set; }

        /// <summary>
        /// 描述
        /// </summary>
        string Description { get; set; }

        /// <summary>
        /// 排序索引号
        /// </summary>
        int Index { get; set; }

        /// <summary>
        /// 动作类型
        /// </summary>
        KMActionType ActionType { get; }

        /// <summary>
        /// 释放时间
        /// </summary>
        int ReleaseTime { get; set; }

        /// <summary>
        /// 执行模式
        /// </summary>
        ExecuteMode Mode { get; set; }

        /// <summary>
        /// 动作执行次数或时长
        /// </summary>
       int ExecuteCount { get; set; }

        /// <summary>
        /// 多次间隔时间
        /// </summary>
        int Interval { get; set; }

        /// <summary>
        /// 延时
        /// </summary>
        int Delay { get; set; }

        /// <summary>
        /// 输出参数文本
        /// </summary>
        /// <returns></returns>
        string ToString();

        /// <summary>
        /// 获取动作类型名称
        /// </summary>
        /// <returns></returns>
        string GetActionType();
    }
}
